//设计一个算法，找出数组中最小的k个数。以任意顺序返回这k个数均可。 
//
// 示例： 
//
// 输入： arr = [1,3,5,7,2,4,6,8], k = 4
//输出： [1,2,3,4]
// 
//
// 提示： 
//
// 
// 0 <= len(arr) <= 100000 
// 0 <= k <= min(100000, len(arr)) 
// 
// Related Topics 数组 分治 快速选择 排序 堆（优先队列） 
// 👍 156 👎 0

  
package com.zwy.leetcode.editor.cn;

import java.util.Arrays;

/**
 * @author zwy 
 */
public class SmallestKLcci{
    public static void main(String[] args) {
        Solution solution = new SmallestKLcci().new Solution();
        int []arr={1,3,5,7,2,4,6,8};
        int k=4;
        solution.smallestK(arr,k);
      }
     
/**
 *时间复杂度为:
 * @author zwy 
 */ 
      //leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public int[] smallestK(int[] arr, int k) {
        int []res=new int[k];
        Arrays.sort(arr);
        for (int i = 0; i < k; i++) {
            res[i]=arr[i];
        }
        return res;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}